This invention relates, in general, to object-oriented computing environments and, in particular, to providing a distributed, object-oriented computing environment that is reliable, secure, transactional and workload managed.
Object-oriented technology continues to be an increasingly important tool for use in building portable application code that can be readily used and reused. A basic premise of object-oriented technology is the use of objects. An object is a run-time entity with a specific set of instance methods and variables associated therewith.
In an effort to enhance the usability, portability, reliability and interoperability of objects, certain standards have been created. One group responsible for such standardization is referred to as the Object Management Group (OMG), which is a consortium of different corporations, businesses and users interested in promoting object-oriented technology.
The Object Management Group has taken great steps in its standardization efforts. For example, the OMG is responsible for the creation of an object request broker (ORB), which is used to provide communications between clients and servers of a computing environment. The ORB is based upon an architecture touted by OMG and referred to as the Common Object Request Broker Architecture (CORBA).
One goal of the OMG is to provide distributed object-oriented applications and systems that coincide with the needs and desires of the ever-changing computing industry. This goal includes supporting multi-vendor, global heterogeneous networks.
Although efforts have been made to meet the goals of the Object Management Group, and of the object-oriented industry as a whole, further enhancements are still needed. For example, a need exists for a distributed object-oriented computing environment that is reliable, secure, transactional and workload managed.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of facilitating workload management of a computing environment. The computing environment includes a plurality of server instances, and the method includes, for example, receiving, by a location service agent of a server instance of the plurality of server instances, a request for an object of the distributed computing environment; and having the location service agent request a workload manager of the server instance to determine which server instance of the plurality of server instances is to handle the request.
In one example, the location service agent forwards to a client issuing the request an indication of the chosen server instance to handle the request.
In a further example, at least one server instance of the plurality of server instances is a replica of at least one other server instance of the plurality of server instances.
In another embodiment of the present invention, a method of facilitating workload management of a computing environment is provided. The computing environment includes a plurality of server instances, and the method includes, for example, receiving, by a requester of the computing environment, an indirect object reference to a location service agent of a server instance of the plurality of server instances; using the indirect object reference to forward a request from the requester to the location service agent; having the location service agent request a workload manager of the computing environment to select a server instance of the plurality of server instances to handle the request; and providing the request to the selected server instance.
In a further aspect of the present invention, a system of facilitating workload management of a computing environment is provided. The computing environment includes a plurality of server instances, and the system includes, for instance, a location service agent of a server instance of the plurality of server instances adapted to receive a request for an object of the distributed computing environment; and the location service agent being adapted to request a workload manager of the server instance to determine which server instance of the plurality of server instances is to handle the request.
In yet a further aspect of the present invention, a system of facilitating workload management of a computing environment is provided. The computing environment includes a plurality of server instances, and the system includes, for example, a requester of the computing environment being adapted to receive an indirect object reference to a location service agent of a server instance of the plurality of server instances; means for using the indirect object reference to forward a request from the requester to the location service agent; the location service agent being adapted to request a workload manager of the computing environment to select a server instance of the plurality of server instances to handle the request; and means for providing the request to the selected server instance.
In another aspect of the present invention, an article of manufacture including at least one computer usable medium having computer readable program code means embodied therein for causing the facilitating of workload management of a computing environment is provided. The computer readable program code means in the article of manufacture includes, for instance, computer readable program code means for causing a computer to receive, by a location service agent of a server instance of the plurality of server instances, a request for an object of the distributed computing environment; and computer readable program code means for causing a computer to have the location service agent request a workload manager of the server instance to determine which server instance of the plurality of server instances is to handle the request.
In yet another aspect of the present invention, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of facilitating workload management of a computing environment is provided. The computing environment includes a plurality of server instances, and the method includes, for example, receiving, by a requester of the computing environment, an indirect object reference to a location service agent of a server instance of the plurality of server instances; using the indirect object reference to forward a request from the requester to the location service agent; having the location service agent request a workload manager of the computing environment to select a server instance of the plurality of server instances to handle the request; and providing the request to the selected server instance.
The present invention advantageously facilitates workload balancing of client communication sessions to replicated object servers based on, for example, the industry standardized CORBA IIOP protocol with no proprietary extensions required either in the communication protocol or in the client-side runtimes establishing communications with the workload manager managed server.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.